package cc.rengu.oltp.service.common.dao;

import cc.rengu.oltp.service.common.entity.SrcTxnAuthCfg;

import java.util.List;

/**
 * 渠道交易权限配置表操作接口
 * Created by 王成 on 2017/11/22.
 */
public interface SrcTxnAuthCfgMapper {
    /**
     * 根据交易码获取交易异常配置信息
     *
     * @param dbPoolCacheNodeName 数据库连池缓存节点名
     * @return 交易权限配置信息
     * @throws Exception 异常
     */
    List<SrcTxnAuthCfg> loadSrcTxnAuthCfgInfo(String dbPoolCacheNodeName) throws Exception;

    /**
     * 根据法人行机构号及渠道标识查询交易权限配置信息
     *
     * @param instId   法人行机构标识
     * @param msgSrcId 渠道标识
     * @return 渠道交易权限配置信息
     * @throws Exception 异常
     */
    List<SrcTxnAuthCfg> selectSrcTxnAuthCfgInfo(String instId, String msgSrcId) throws Exception;

    /**
     * 根据交易码获取交易权限配置信息
     *
     * @param instId         多法人机构标识
     * @param msgSrcId       源系统标识
     * @param transChannelId 交易渠道标识
     * @param txnNum         内部交易码
     * @param bizType        业务细分
     * @return 交易权限配置信息
     * @throws Exception 异常
     */
    SrcTxnAuthCfg selectSrcTxnAuthCfgByPrimaryKey(String instId, String msgSrcId, String transChannelId, String txnNum, String bizType) throws Exception;

    /**
     * 根据主键更新渠道交易权限配置信息
     *
     * @param srcTxnAuthCfg 渠道交易权限配置信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int updateSrcTxnAuthCfgByPrimaryKey(SrcTxnAuthCfg srcTxnAuthCfg) throws Exception;

    /**
     * 登记渠道交易权限配置信息
     *
     * @param srcTxnAuthCfg 渠道交易权限配置信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int insertSrcTxnAuthCfg(SrcTxnAuthCfg srcTxnAuthCfg) throws Exception;
}
